#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <errno.h> // 全局变量（临界资源），所有库函数都会修改它
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <pthread.h> // POSIX thread

char buf[100];

void *xfz(void *arg)
{
    int a, c;
    srand(time(NULL));
    while(1)
    {
        if(c = strlen(buf) != 100)
        {   
            a = rand()%10+1;
            snprintf(buf, 4, "%d", a);
            
            usleep(200*1000);
        }       
        else
            usleep(200*1000); 
    }

}

void *scz(void *arg)
{
    int b, c;
    while(1)
    {
        if((c = strlen(buf)) != 0)
        {
            b = c;
            buf[c] = 0;
            printf("%d\n", b);
        }        
        else
            usleep(200*1000);
    }

}

int main(int argc, char const *argv[])
{
    pthread_t p[4];
    pthread_create(&p[0], NULL, xfz, NULL);
    // pthread_create(&p[1], NULL, xfz, NULL);
    pthread_create(&p[2], NULL, scz, NULL);
    // pthread_create(&p[3], NULL, scz, NULL);

    pause();
    return 0;
}
